package configuracao;

import java.util.ArrayList;
import java.util.List;

import hibernate.dao.EspecialidadeDAO;
import hibernate.entity.Especialidade;

import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class CtrlEspecialidade {

	private EspecialidadeDAO dao = new EspecialidadeDAO();

	public void adicionarEspecialidade(JTextField txtEspecialidade,
			JTextArea txtFuncao) {

		Especialidade especialidade = new Especialidade();

		especialidade.setTipo(txtEspecialidade.getText());
		especialidade.setFuncao(txtFuncao.getText());

		dao.adiciona(especialidade);
		JOptionPane.showMessageDialog(null, "Especialidade adicionada com sucesso!");
		
	}

	public void alteraEspecialidade(JComboBox cbEspecialidades,JTextField txtEspecialidade,
			JTextArea txtFuncao) {

		Especialidade especialidade = dao.importaDados((String)cbEspecialidades.getSelectedItem());
		
		especialidade.setTipo(txtEspecialidade.getText());
		especialidade.setFuncao(txtFuncao.getText());

		dao.alterar(especialidade);
		JOptionPane.showMessageDialog(null, "Especialidade alterada com sucesso!");
	}
	
	public void removerEspecialidade(JComboBox cbEspecialidade) {
		int escolha = JOptionPane.showConfirmDialog(null,
				"Tem certeza que deseja excluir a Especialidade?");
		if (escolha == 0) {
			dao.remover(dao.importaDados((String) cbEspecialidade
				.getSelectedItem()));
			JOptionPane.showMessageDialog(null, "Especialidade removida com sucesso");
			
			
		} else {
			return;
		}
	}
	
	public void preencherComboBox(JComboBox cbEspecialidade){
	 
		for(Especialidade especialidade : dao.getLista()){
			cbEspecialidade.addItem(especialidade.getTipo());
		}
	}
	
	public void carregaCampos(JTextField txtEspecialidade,
			JTextArea txtFuncao,JComboBox cbEspecialidade){
		
			Especialidade especialidade;
			especialidade = dao.importaDados((String)cbEspecialidade.getSelectedItem());
			
			try{
			
			txtEspecialidade.setText(especialidade.getTipo());
			txtFuncao.setText(especialidade.getFuncao());
			}catch(Exception e){
				System.out.println(e.getMessage());
			}
	}
	
	public Especialidade retornaEspecialidade(JComboBox cbEspecialidade){
		
		return dao.importaDados((String)cbEspecialidade.getSelectedItem());
	}

}
